<?php
class Teacher extends AppModel
{
   var $primaryKey   = 'cpf';
   var $name         = 'Teacher';
   var $belongsTo    = 'Filiation';

   var $validate  = array(
      'cpf' => array(
         'numeric' => array(
            'rule'      => 'numeric',
            'message'   => 'Este campo só pode conter números e é obrigatório.'
         ),
         'between' => array(
            'rule'      => array('between', 11, 11),
            'message'   => 'O CPF deve conter 11 dígitos.'
         ),
      ),
      'nome' => array(
         'rule'      => '/[a-z]{1,}/i',
         'required'  => true,
         'message'   => 'Este campo só pode conter letras e é obrigatório.'
      ),
      'siape' => array(
         'numeric' => array(
            'rule'      => 'numeric',
			'allowEmpty'=> true,
            'message'   => 'Este campo só pode conter números.'
         ),
         'between' => array(
            'rule'      => array('between', 7, 7),
            'message'   => 'O SIAPE deve conter 7 dígitos.'
         ),
         'isUnique' => array(
            'rule'      => 'checarUnicidadeSiape',
            'message'   => 'Já existe um professor cadastrado com este SIAPE.',
         )
      )
   );


   
   function checarUnicidadeSiape($data)
   {
      if ($this->find('count', array('conditions' => array('siape' => $this->data['Teacher']['siape']))) > 0)
      {
         $prof = $this->find('all', array('conditions' => array('siape' => $this->data['Teacher']['siape'])));
         
         if ($prof[0]['Teacher']['cpf'] == $this->data['Teacher']['cpf']) return true;
         
         return false;
      }
      else return true;
   }

}
?>
